home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / random.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  2KB  |  76 lines

  1. /*
  2.  * include/linux/random.h
  3.  *
  4.  * Include file for the random number generator.
  5.  */
  6.  
  7. #ifndef _LINUX_RANDOM_H
  8. #define _LINUX_RANDOM_H
  9.  
  10. #include <linux/ioctl.h>
  11.  
  12. /* ioctl()'s for the random number generator */
  13.  
  14. /* Get the entropy count. */
  15. #define RNDGETENTCNT    _IOR( 'R', 0x00, int )
  16.  
  17. /* Add to (or subtract from) the entropy count.  (Superuser only.) */
  18. #define RNDADDTOENTCNT    _IOW( 'R', 0x01, int )
  19.  
  20. /* Get the contents of the entropy pool.  (Superuser only.) */
  21. #define RNDGETPOOL    _IOR( 'R', 0x02, int [2] )
  22.  
  23. /* 
  24.  * Write bytes into the entropy pool and add to the entropy count.
  25.  * (Superuser only.)
  26.  */
  27. #define RNDADDENTROPY    _IOW( 'R', 0x03, int [2] )
  28.  
  29. /* Clear entropy count to 0.  (Superuser only.) */
  30. #define RNDZAPENTCNT    _IO( 'R', 0x04 )
  31.  
  32. /* Clear the entropy pool and associated counters.  (Superuser only.) */
  33. #define RNDCLEARPOOL    _IO( 'R', 0x06 )
  34.  
  35. struct rand_pool_info {
  36.     int    entropy_count;
  37.     int    buf_size;
  38.     __u32    buf[0];
  39. };
  40.  
  41. /* Exported functions */
  42.  
  43. #ifdef __KERNEL__
  44.  
  45. extern void rand_initialize_irq(int irq);
  46.  
  47. extern void add_input_randomness(unsigned int type, unsigned int code,
  48.                  unsigned int value);
  49. extern void add_interrupt_randomness(int irq);
  50.  
  51. extern void get_random_bytes(void *buf, int nbytes);
  52. void generate_random_uuid(unsigned char uuid_out[16]);
  53.  
  54. extern __u32 secure_ip_id(__u32 daddr);
  55. extern u32 secure_tcp_port_ephemeral(__u32 saddr, __u32 daddr, __u16 dport);
  56. extern __u32 secure_tcp_sequence_number(__u32 saddr, __u32 daddr,
  57.                     __u16 sport, __u16 dport);
  58. extern __u32 secure_tcp_syn_cookie(__u32 saddr, __u32 daddr,
  59.                    __u16 sport, __u16 dport,
  60.                    __u32 sseq, __u32 count,
  61.                    __u32 data);
  62. extern __u32 check_tcp_syn_cookie(__u32 cookie, __u32 saddr,
  63.                   __u32 daddr, __u16 sport,
  64.                   __u16 dport, __u32 sseq,
  65.                   __u32 count, __u32 maxdiff);
  66. extern __u32 secure_tcpv6_sequence_number(__u32 *saddr, __u32 *daddr,
  67.                       __u16 sport, __u16 dport);
  68.  
  69. #ifndef MODULE
  70. extern struct file_operations random_fops, urandom_fops;
  71. #endif
  72.  
  73. #endif /* __KERNEL___ */
  74.  
  75. #endif /* _LINUX_RANDOM_H */
  76.